如果在应用程序的初始配置过程中跳过应用程序与邮件服务器的自动集成,则必须手动将 KSMG 与邮件服务器集成。
您可以使用动态链接库 (dlfunc) 手动配置 KSMG 与 Exim 邮件服务器的队列前集成。通过队列前集成,KSMG 在邮件最终进入 Exim 邮件服务器的队列之前对其进行扫描。不支持队列后集成。
根据操作系统的具体分发,您必须修改 Exim 邮件服务器的一个或多个配置文件。
要执行 KSMG 与 Exim 的队列前集成:
exim -bV
如果 Support for
部分包含 Expand_dlfunc
行,则 Exim 邮件服务器支持 dlfunc 动态加载库。
acl_smtp_data
的访问控制列表。为此,在 Exim 配置文件中查找以下行:acl_smtp_data = acl_check_data
(可以使用不同的变量或宏代替 acl_check_data
)
并在行
acl_check_data:(
或包含不同变量或宏的字符串)
后面添加以下行:
# Manually added block ksmg-exim-filter-dflunc begin
warn set acl_m_ksmg_input_directory = ${spool_directory}/input
set acl_m_ksmg_lookup_result = ${lookup {$message_id-D} dsearch {$acl_m_ksmg_input_directory}}
warn condition = ${if eq {$acl_m_ksmg_lookup_result}{}{yes}{no}}
set acl_m_ksmg_input_directory = ${spool_directory}/input/${substr{5}{1}{$message_id}}
warn set acl_m_ksmg_answer = ${dlfunc{DLFUNC_LIBRARY_FULLPATH}{scan}{$acl_m_ksmg_input_directory}}
defer condition = ${if match {$acl_m_ksmg_answer}{^[245]}{no}{yes}}
log_message = KSMG check failed, unexpected answer: $acl_m_ksmg_answer
defer condition = ${if match {$acl_m_ksmg_answer}{^4}{yes}{no}}
log_message = KSMG check defer: $acl_m_ksmg_answer
deny condition = ${if match {$acl_m_ksmg_answer}{^5}{yes}{no}}
log_message = KSMG check reject: $acl_m_ksmg_answer
message = This message is blocked due to security reason
warn condition = ${if match {$acl_m_ksmg_answer}{^2}{yes}{no}}
logwrite = KSMG check accept: $acl_m_ksmg_answer
# Manually added block ksmg-exim-filter-dlfunc ends here
其中 DLFUNC_LIBRARY_FULLPATH 是 dlfunc 库的路径。The path to the library depends on the version of Exim and may look like this:
kluser
用户添加到包含启动 exim 进程的用户的组中。默认情况下,该组在 Red Hat Enterprise Linux 和 Rocky Linux 中称为“exim”,在 Ubuntu 中称为“Debian-exim”。
klusers
和 kl_var_users
组中。默认情况下,Red Hat Enterprise Linux 和 Rocky Linux 中的用户名为“exim”,Ubuntu 中的用户名为“Debian-exim”。
[global]
部分中,设置以下参数值:scanner=unix:/var/run/ksmg/klms_scanner_sock
header-guard=false
PrivateTmp
设置为 false
或未在 Exim Unit 文件中指定:workdir=/tmp
PrivateTmp
在 Exim Unit 文件中设置为 true
:workdir=/var/opt/kaspersky/ksmg/tmp
MTA_INTEGRATION_METHOD=dlfunc
MTA_INTEGRATION_MODE=prequeue
filters_workdir=<步骤 7 中“workdir”参数的值>
mta=manual
START_SMTP_PROXY=0
START_MILTER=0
与 Exim 的整合已完成。
页面顶部